home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / text / DefaultEditorKit.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  10.3 KB  |  244 lines

  1. package javax.swing.text;
  2.  
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.io.InputStreamReader;
  6. import java.io.OutputStream;
  7. import java.io.OutputStreamWriter;
  8. import java.io.Reader;
  9. import java.io.Writer;
  10. import javax.swing.Action;
  11.  
  12. public class DefaultEditorKit extends EditorKit {
  13.    public static final String EndOfLineStringProperty = "__EndOfLine__";
  14.    public static final String insertContentAction = "insert-content";
  15.    public static final String insertBreakAction = "insert-break";
  16.    public static final String insertTabAction = "insert-tab";
  17.    public static final String deletePrevCharAction = "delete-previous";
  18.    public static final String deleteNextCharAction = "delete-next";
  19.    public static final String readOnlyAction = "set-read-only";
  20.    public static final String writableAction = "set-writable";
  21.    public static final String cutAction = "cut-to-clipboard";
  22.    public static final String copyAction = "copy-to-clipboard";
  23.    public static final String pasteAction = "paste-from-clipboard";
  24.    public static final String beepAction = "beep";
  25.    public static final String pageUpAction = "page-up";
  26.    public static final String pageDownAction = "page-down";
  27.    static final String selectionPageUpAction = "selection-page-up";
  28.    static final String selectionPageDownAction = "selection-page-down";
  29.    public static final String forwardAction = "caret-forward";
  30.    public static final String backwardAction = "caret-backward";
  31.    public static final String selectionForwardAction = "selection-forward";
  32.    public static final String selectionBackwardAction = "selection-backward";
  33.    public static final String upAction = "caret-up";
  34.    public static final String downAction = "caret-down";
  35.    public static final String selectionUpAction = "selection-up";
  36.    public static final String selectionDownAction = "selection-down";
  37.    public static final String beginWordAction = "caret-begin-word";
  38.    public static final String endWordAction = "caret-end-word";
  39.    public static final String selectionBeginWordAction = "selection-begin-word";
  40.    public static final String selectionEndWordAction = "selection-end-word";
  41.    public static final String previousWordAction = "caret-previous-word";
  42.    public static final String nextWordAction = "caret-next-word";
  43.    public static final String selectionPreviousWordAction = "selection-previous-word";
  44.    public static final String selectionNextWordAction = "selection-next-word";
  45.    public static final String beginLineAction = "caret-begin-line";
  46.    public static final String endLineAction = "caret-end-line";
  47.    public static final String selectionBeginLineAction = "selection-begin-line";
  48.    public static final String selectionEndLineAction = "selection-end-line";
  49.    public static final String beginParagraphAction = "caret-begin-paragraph";
  50.    public static final String endParagraphAction = "caret-end-paragraph";
  51.    public static final String selectionBeginParagraphAction = "selection-begin-paragraph";
  52.    public static final String selectionEndParagraphAction = "selection-end-paragraph";
  53.    public static final String beginAction = "caret-begin";
  54.    public static final String endAction = "caret-end";
  55.    public static final String selectionBeginAction = "selection-begin";
  56.    public static final String selectionEndAction = "selection-end";
  57.    public static final String selectWordAction = "select-word";
  58.    public static final String selectLineAction = "select-line";
  59.    public static final String selectParagraphAction = "select-paragraph";
  60.    public static final String selectAllAction = "select-all";
  61.    static final String unselectAction = "unselect";
  62.    public static final String defaultKeyTypedAction = "default-typed";
  63.    private static final Action[] defaultActions = new Action[]{new InsertContentAction(), new DeletePrevCharAction(), new DeleteNextCharAction(), new ReadOnlyAction(), new WritableAction(), new CutAction(), new CopyAction(), new PasteAction(), new PageUpAction("page-up", false), new PageDownAction("page-down", false), new PageUpAction("selection-page-up", true), new PageDownAction("selection-page-down", true), new InsertBreakAction(), new BeepAction(), new NextVisualPositionAction("caret-forward", false, 3), new NextVisualPositionAction("caret-backward", false, 7), new NextVisualPositionAction("selection-forward", true, 3), new NextVisualPositionAction("selection-backward", true, 7), new NextVisualPositionAction("caret-up", false, 1), new NextVisualPositionAction("caret-down", false, 5), new NextVisualPositionAction("selection-up", true, 1), new NextVisualPositionAction("selection-down", true, 5), new BeginWordAction("caret-begin-word", false), new EndWordAction("caret-end-word", false), new BeginWordAction("selection-begin-word", true), new EndWordAction("selection-end-word", true), new PreviousWordAction("caret-previous-word", false), new NextWordAction("caret-next-word", false), new PreviousWordAction("selection-previous-word", true), new NextWordAction("selection-next-word", true), new BeginLineAction("caret-begin-line", false), new EndLineAction("caret-end-line", false), new BeginLineAction("selection-begin-line", true), new EndLineAction("selection-end-line", true), new BeginParagraphAction("caret-begin-paragraph", false), new EndParagraphAction("caret-end-paragraph", false), new BeginParagraphAction("selection-begin-paragraph", true), new EndParagraphAction("selection-end-paragraph", true), new BeginAction("caret-begin", false), new EndAction("caret-end", false), new BeginAction("selection-begin", true), new EndAction("selection-end", true), new DefaultKeyTypedAction(), new InsertTabAction(), new SelectWordAction(), new SelectLineAction(), new SelectParagraphAction(), new SelectAllAction(), new UnselectAction(), new DumpModelAction()};
  64.  
  65.    public Object clone() {
  66.       return new DefaultEditorKit();
  67.    }
  68.  
  69.    public Caret createCaret() {
  70.       return null;
  71.    }
  72.  
  73.    public Document createDefaultDocument() {
  74.       return new PlainDocument();
  75.    }
  76.  
  77.    public Action[] getActions() {
  78.       return defaultActions;
  79.    }
  80.  
  81.    public String getContentType() {
  82.       return "text/plain";
  83.    }
  84.  
  85.    public ViewFactory getViewFactory() {
  86.       return null;
  87.    }
  88.  
  89.    public void read(InputStream var1, Document var2, int var3) throws IOException, BadLocationException {
  90.       this.read((Reader)(new InputStreamReader(var1)), var2, var3);
  91.    }
  92.  
  93.    public void read(Reader var1, Document var2, int var3) throws IOException, BadLocationException {
  94.       char[] var4 = new char[4096];
  95.       boolean var6 = false;
  96.       boolean var7 = false;
  97.       boolean var8 = false;
  98.       boolean var10 = var2.getLength() == 0;
  99.  
  100.       int var5;
  101.       while((var5 = var1.read(var4, 0, var4.length)) != -1) {
  102.          int var9 = 0;
  103.  
  104.          for(int var11 = 0; var11 < var5; ++var11) {
  105.             switch (var4[var11]) {
  106.                case '\n':
  107.                   if (var6) {
  108.                      if (var11 > var9 + 1) {
  109.                         var2.insertString(var3, new String(var4, var9, var11 - var9 - 1), (AttributeSet)null);
  110.                         var3 += var11 - var9 - 1;
  111.                      }
  112.  
  113.                      var6 = false;
  114.                      var9 = var11;
  115.                      var7 = true;
  116.                   }
  117.                   break;
  118.                case '\u000b':
  119.                case '\f':
  120.                default:
  121.                   if (var6) {
  122.                      var8 = true;
  123.                      if (var11 == 0) {
  124.                         var2.insertString(var3, "\n", (AttributeSet)null);
  125.                         ++var3;
  126.                      } else {
  127.                         var4[var11 - 1] = '\n';
  128.                      }
  129.  
  130.                      var6 = false;
  131.                   }
  132.                   break;
  133.                case '\r':
  134.                   if (var6) {
  135.                      var8 = true;
  136.                      if (var11 == 0) {
  137.                         var2.insertString(var3, "\n", (AttributeSet)null);
  138.                         ++var3;
  139.                      } else {
  140.                         var4[var11 - 1] = '\n';
  141.                      }
  142.                   } else {
  143.                      var6 = true;
  144.                   }
  145.             }
  146.          }
  147.  
  148.          if (var9 < var5) {
  149.             if (var6) {
  150.                if (var9 < var5 - 1) {
  151.                   var2.insertString(var3, new String(var4, var9, var5 - var9 - 1), (AttributeSet)null);
  152.                   var3 += var5 - var9 - 1;
  153.                }
  154.             } else {
  155.                var2.insertString(var3, new String(var4, var9, var5 - var9), (AttributeSet)null);
  156.                var3 += var5 - var9;
  157.             }
  158.          }
  159.       }
  160.  
  161.       if (var6) {
  162.          var2.insertString(var3, "\n", (AttributeSet)null);
  163.          var8 = true;
  164.       }
  165.  
  166.       if (var10) {
  167.          if (var7) {
  168.             var2.putProperty("__EndOfLine__", "\r\n");
  169.          } else if (var8) {
  170.             var2.putProperty("__EndOfLine__", "\r");
  171.          } else {
  172.             var2.putProperty("__EndOfLine__", "\n");
  173.          }
  174.       }
  175.  
  176.    }
  177.  
  178.    public void write(OutputStream var1, Document var2, int var3, int var4) throws IOException, BadLocationException {
  179.       this.write((Writer)(new OutputStreamWriter(var1)), var2, var3, var4);
  180.    }
  181.  
  182.    public void write(Writer var1, Document var2, int var3, int var4) throws IOException, BadLocationException {
  183.       if (var3 >= 0 && var3 + var4 <= var2.getLength()) {
  184.          Segment var5 = new Segment();
  185.          int var6 = var4;
  186.          int var7 = var3;
  187.          Object var8 = var2.getProperty("__EndOfLine__");
  188.          if (var8 == null) {
  189.             try {
  190.                var8 = System.getProperty("line.separator");
  191.             } catch (SecurityException var15) {
  192.             }
  193.          }
  194.  
  195.          String var9;
  196.          if (var8 instanceof String) {
  197.             var9 = (String)var8;
  198.          } else {
  199.             var9 = null;
  200.          }
  201.  
  202.          if (var8 != null && !var9.equals("\n")) {
  203.             while(var6 > 0) {
  204.                int var16 = Math.min(var6, 4096);
  205.                var2.getText(var7, var16, var5);
  206.                int var11 = var5.offset;
  207.                char[] var12 = var5.array;
  208.                int var13 = var11 + var5.count;
  209.  
  210.                for(int var14 = var11; var14 < var13; ++var14) {
  211.                   if (var12[var14] == '\n') {
  212.                      if (var14 > var11) {
  213.                         var1.write(var12, var11, var14 - var11);
  214.                      }
  215.  
  216.                      var1.write(var9);
  217.                      var11 = var14 + 1;
  218.                   }
  219.                }
  220.  
  221.                if (var13 > var11) {
  222.                   var1.write(var12, var11, var13 - var11);
  223.                }
  224.  
  225.                var7 += var16;
  226.                var6 -= var16;
  227.             }
  228.          } else {
  229.             while(var6 > 0) {
  230.                int var10 = Math.min(var6, 4096);
  231.                var2.getText(var7, var10, var5);
  232.                var1.write(var5.array, var5.offset, var5.count);
  233.                var7 += var10;
  234.                var6 -= var10;
  235.             }
  236.          }
  237.  
  238.          var1.flush();
  239.       } else {
  240.          throw new BadLocationException("DefaultEditorKit.write", var3);
  241.       }
  242.    }
  243. }
  244.